using System;
using System.Diagnostics;
using System.Drawing;
using System.Reflection;
using Catastrophe.Common.SoftLicensing;

namespace Catastrophe.Initialize
{
	public class FrameEnvironment
	{
		public static string UserName = "";

		public static string UserNo = "";

		public static string UserPwd = "";

		public static string Identify = "";

		public static string Depart = "";

		public static string AuthorizeType = "";

		public static long TimeConsume;

		public static string SysLoadDetails;

		public static Action<string> LoadBottomTipsHandler;

		public static Action<CatastropheMsg> CatastropheMsgHandler;

		public static Action<CatastropheMsgDialog> CatastropheMsgNotify;

		public static Action FrameExist;

		public static Action<int> MainTabIndexChangedHandler;

		public static Action<object> MainTabPageChangedHandler;

		public static Action<object> MainTabPageVisibledHandler;

		public static bool IsAuthenticated;

		public static int MainTreeViewWidth;

		public static int MainTreeViewHeight;

		public static bool CancelPower;

		public static string TimeFormat = "yyyy/MM/dd HH:mm:ss:fff";

		public const string DevModuleAssemblyName = "Catastrophe.DevAuto.Wf";

		public const string CatastropheMainUiAssemblyName = "Catastrophe.BasePC.UI";

		public const string ImgFolder = "ThemeImg";

		public static bool IsAdmin => FrameEnvironment.Identify == "管理员";

		public static string MainAssemblyName { get; set; }

		public static Assembly CurrentAssembly { get; set; }

		public static string LastRootPath { get; set; }

		public static bool IsDebug => Debugger.IsAttached;

		public static bool IsDevMode { get; set; }

		public static bool IsLicenseValid { get; set; }

		public static bool CancelLicense { get; set; }

		public static string PubKey { get; set; }

		public static Action<LicCheckRet> LicTipHandler { get; set; }

		public static Action<object, bool> ShowTabHandler { get; set; }

		public static string FrameVisualStyle { get; set; }

		public static string SourceCodePath { get; set; }

		public static Image ImgLogo { get; set; }

		public static Icon IconLogo { get; set; }
	}
}
